Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-PRD-002
DeskripsiPencatatan produksi berdasarkan formula dari Master Formula Produksi: pilih formula dan kuantitasnya, catat realisasi bahan, modifier, biaya langsung, dan hasil produksi, lalu simpan draft, rencana, atau final
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar produksi dengan formula beserta nomor invoice, kuantitas resep, nama resep, tanggal mulai, tanggal selesai, status, dan jenis invoice.
  • User memfilter daftar berdasarkan nomor SPK, rentang tanggal mulai, cabang, cluster, status, dan invoice formula (BOM).
  • User membuat produksi dengan memilih cabang, tanggal, formula produksi berstatus final, dan kuantitas formula.
  • Sistem mengisi kebutuhan bahan baku, bahan pendukung, modifier, biaya langsung, dan hasil jadi dari formula, lalu user mengisi realisasinya.
  • Cluster mengikuti cluster dari formula yang dipilih.
  • User menentukan pembagian HPP hasil jadi (proporsional kuantitas hasil terkecil, jumlah SKU, atau custom).
  • User menyimpan produksi sebagai draft, rencana produksi, atau final, lalu mengubah, melihat, memposting ulang, menghapus draft, membuka kembali ke draft, dan mencetak dokumen produksi.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar produksi jenis with_bom dengan kolom nomor invoice, kuantitas resep, nama resep, start produksi, selesai produksi, status invoice, dan jenis invoice
FR-02Sistem menyediakan filter nomor SPK, rentang start produksi, cabang, cluster (jika punya hak cluster), status, dan invoice BOM
FR-03Form tambah mewajibkan cabang, tanggal, formula produksi, dan kuantitas formula minimal 0,1
FR-04Pilihan formula hanya berisi formula berstatus final
FR-05Saat formula dipilih, sistem memuat detail formula dan mengisi cluster dari formula (tidak dapat diubah)
FR-06Form memiliki tab bahan baku, bahan pendukung, modifier, biaya langsung, dan bahan jadi dengan kuantitas resep dari formula dan kuantitas realisasi yang diisi user
FR-07Sistem menyediakan opsi simpan draft, simpan sebagai rencana produksi (jika punya hak perintah produksi), dan simpan final dengan validasi total HPP 100% saat final
FR-08User dapat mengubah produksi yang belum tercetak dan belum selesai
FR-09User dapat melihat detail produksi dan memposting ulang produksi final
FR-10User dengan hak draft dapat menghapus produksi draft dan membuka kembali produksi final menjadi draft
FR-11User dengan hak perintah produksi dapat memajukan status dari daftar (rencana, sedang berjalan, selesai)
FR-12User dapat mencetak dokumen produksi satu per satu atau massal

3. Use Case List​

KodeDeskripsi
UC-01Melihat dan memfilter daftar produksi dengan formula
UC-02Membuat produksi dengan formula
UC-03Mengubah realisasi produksi dengan formula
UC-04Memajukan status produksi dari daftar
UC-05Melihat detail dan memposting ulang produksi
UC-06Menghapus produksi draft
UC-07Membuka kembali (unlock) produksi final ke draft
UC-08Mencetak dokumen produksi

4. Use Case Scenario​

UC-01 : Melihat dan memfilter daftar produksi dengan formula​

AktorUser produksi
DeskripsiUser melihat daftar produksi berformula dan mempersempitnya dengan filter
PrekondisiUser sudah login dan memilih brand
Alur utama1. User membuka menu Transaksi, Produksi, Produksi dengan Formula.
2. Sistem menampilkan daftar produksi dengan formula.
3. User klik Filter dan mengisi nomor SPK, rentang start produksi, cabang, cluster, status, atau invoice BOM.
4. User klik Terapkan.
5. Sistem memuat ulang daftar sesuai filter.
Alur negatif- Jika gagal memuat data, daftar dikosongkan.
- Jika user klik Atur ulang, semua filter dikosongkan.
Bisnis rule- Daftar selalu dibatasi jenis SPK with_bom.
- Filter invoice BOM hanya tampil di halaman ini, memakai daftar formula dari Master Formula Produksi.
- Status: to do draft = Draft, to do = Belum dikerjakan, in progress = Sedang berjalan, selesai = Selesai.
PostkondisiDaftar tampil sesuai filter
TriggerUser membuka halaman atau menerapkan filter
Kode FRFR-01
FR-02

UC-02 : Membuat produksi dengan formula​

AktorUser produksi dengan hak dasar produksi
DeskripsiUser mencatat produksi berdasarkan formula dan mengisi realisasi bahan serta hasil
PrekondisiUser punya hak #produksi basic
Sudah ada formula produksi berstatus final
Alur utama1. User klik tambah produksi dengan formula.
2. Sistem menyinkronkan data integritas produksi yang belum lengkap dan memuat daftar formula final.
3. User memilih cabang dan tanggal.
4. User memilih formula produksi dan mengisi kuantitas formula.
5. Sistem memuat detail formula, mengisi cluster, dan menghitung kebutuhan resep per tab.
6. User mengisi realisasi bahan baku, bahan pendukung, modifier, biaya langsung, dan bahan jadi beserta pembagian HPP.
7. User memilih Simpan draft, Simpan sebagai rencana produksi, atau Simpan final.
8. Sistem menyimpan produksi lalu membuka pilihan cetak, atau kembali ke daftar jika draft.
Alur negatif- Jika header tidak lengkap, muncul "Tolong lengkapi form dengan benar!".
- Jika formula kosong, muncul "Formula Produksi Wajib Diisi".
- Jika kuantitas kosong atau di bawah 0,1, muncul "Qty Formula Produksi Wajib Diisi" atau "Qty Formula Produksi Minimal 0.1".
- Jika bahan baku tidak valid, muncul "Form Bahan Baku Wajib Diisi".
- Jika bahan pendukung tidak valid, muncul "Oops ada yang salah di form Bahan Pendukung!".
- Jika modifier tidak valid, muncul "Oops ada yang salah di form Modifier!".
- Jika biaya langsung tidak valid, muncul "Oops ada yang salah di form Biaya Langsung!".
- Jika bahan jadi tidak valid, muncul "Form Bahan Jadi Wajib Diisi".
- Jika final dan total HPP bukan 100%, muncul "Total Pembagian HPP Bahan Jadi harus = 100%! Total HPP Anda = X%".
- Jika simpan gagal, muncul "Gagal Membuat Invoice Produksi dengan Formula".
Bisnis rule- Hanya formula berstatus final yang dapat dipilih.
- Cluster diambil dari formula dan field cluster dinonaktifkan.
- Setiap baris membawa kuantitas resep (dari formula dikali kuantitas) dan kuantitas realisasi.
- Modifier adalah bahan tambahan di luar resep yang ikut tercatat sebagai pemakaian.
- Gudang asal atau gudang tujuan kosong otomatis memakai cabang header.
- Produksi dengan formula hanya mencatat tanggal mulai, tidak ada tanggal selesai di form.
PostkondisiProduksi dengan formula tercatat
TriggerUser klik salah satu opsi simpan
Kode FRFR-03
FR-04
FR-05
FR-06
FR-07

UC-03 : Mengubah realisasi produksi dengan formula​

AktorUser produksi dengan hak dasar produksi
DeskripsiUser memperbarui realisasi produksi berformula yang belum final
PrekondisiProduksi belum tercetak dan statusnya bukan selesai
Alur utama1. User memilih Edit pada menu baris.
2. Sistem memuat detail produksi dan detail formula terkait.
3. User mengubah realisasi pada tab yang diperlukan.
4. User memilih opsi simpan.
5. Sistem memperbarui produksi.
Alur negatif- Validasi form dan HPP sama seperti saat membuat.
- Jika simpan gagal, muncul pesan gagal dari halaman.
Bisnis rule- Baris lama yang dihapus dikirim dengan penanda hapus.
- Formula yang dipakai tetap mengacu pada formula saat produksi dibuat.
PostkondisiRealisasi produksi terbarui
TriggerUser klik opsi simpan pada form edit
Kode FRFR-07
FR-08

UC-04 : Memajukan status produksi dari daftar​

AktorUser dengan hak perintah produksi
DeskripsiUser mengubah status produksi berformula dari menu baris
PrekondisiUser punya hak #perintah-produksi dan produksi belum final
Alur utama1. User membuka menu baris.
2. User memilih Simpan sebagai rencana produksi atau Tandai Sedang Berjalan.
3. Sistem memperbarui status.
4. Untuk menyelesaikan, user memilih Tandai Selesai dan sistem membuka form edit.
Alur negatif- Jika gagal, muncul "Gagal update Invoice Produksi dengan Formula".
Bisnis rule- Aturan tampil aksi sama dengan produksi tanpa formula (menu baris yang sama dipakai bersama).
PostkondisiStatus produksi berubah
TriggerUser memilih aksi status
Kode FRFR-11

UC-05 : Melihat detail dan memposting ulang produksi​

AktorUser dengan hak lihat produksi
DeskripsiUser melihat detail produksi berformula dan memposting ulang produksi final
PrekondisiUser punya hak #produksi view
Alur utama1. User memilih Lihat.
2. Sistem menampilkan detail produksi dan formula yang dipakai.
3. Untuk produksi tercetak, user memilih Posting Ulang.
4. Sistem memposting ulang dan menampilkan pesan berhasil.
Alur negatif- Jika gagal, muncul pesan error dari BE.
Bisnis rule- Posting ulang hanya untuk produksi tercetak.
PostkondisiDetail tampil atau produksi diposting ulang
TriggerUser membuka halaman lihat
Kode FRFR-09

UC-06 : Menghapus produksi draft​

AktorUser dengan hak draft produksi
DeskripsiUser menghapus produksi berformula yang masih draft
PrekondisiProduksi berstatus draft dan belum tercetak
Alur utama1. User memilih Hapus.
2. Sistem meminta konfirmasi.
3. Sistem menghapus produksi dan menampilkan "Berhasil hapus Invoice".
Alur negatif- Jika gagal, muncul pesan error dari BE.
Bisnis rule- Butuh hak #can-draft dan hak #produksi draft.
PostkondisiProduksi draft terhapus
TriggerUser konfirmasi hapus
Kode FRFR-10

UC-07 : Membuka kembali (unlock) produksi final ke draft​

AktorUser dengan hak draft produksi
DeskripsiUser mengembalikan produksi berformula yang final menjadi draft
PrekondisiProduksi tercetak dan berstatus selesai
Alur utama1. User memilih Ubah ke Simpan Draft.
2. Sistem membuka kunci produksi.
3. Muncul "Berhasil Ubah ke Simpan Draft Invoice ...".
Alur negatif- Jika gagal, muncul pesan error dari BE.
Bisnis rule- Butuh hak #can-draft dan hak #produksi draft.
- Status kembali menjadi to do draft.
PostkondisiProduksi kembali draft
TriggerUser memilih Ubah ke Simpan Draft
Kode FRFR-10

UC-08 : Mencetak dokumen produksi​

AktorUser dengan hak cetak ulang produksi
DeskripsiUser mencetak dokumen produksi berformula satu per satu atau massal
PrekondisiProduksi bukan draft
Alur utama1. User memilih Print.
2. Sistem menampilkan dokumen sesuai status: dokumen final (laporan realisasi, penyerahan bahan jadi) atau dokumen rencana (surat perintah produksi, surat pengambilan barang).
3. User mencetak.
4. Untuk cetak massal, user memakai Print Bulk lalu mencentang produksi tercetak.
Alur negatif- Jika data gagal diambil, muncul "Kesalahan dalam pengambilan data. error: ...".
Bisnis rule- Cetak massal hanya untuk produksi tercetak dan mencetak laporan realisasi produksi.
PostkondisiDokumen tercetak
TriggerUser memilih Print atau Print Bulk
Kode FRFR-12

5. Data Flow Diagram​

DFD-01​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat dan memfilter daftar produksi dengan formula​

SD-02 — UC-02 : Membuat produksi dengan formula​

SD-03 — UC-03 : Mengubah realisasi produksi dengan formula​

SD-04 — UC-04 : Memajukan status produksi dari daftar​

SD-05 — UC-05 : Melihat detail dan memposting ulang produksi​

SD-06 — UC-06 : Menghapus produksi draft​

SD-07 — UC-07 : Membuka kembali (unlock) produksi final ke draft​

SD-08 — UC-08 : Mencetak dokumen produksi​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-spkexisting-
GET /invoice-spk/:idexisting-
POST /invoice-spk/create-allexisting-
PUT /invoice-spk/update-all/:idexisting-
PUT /invoice-spk/:idexisting-
DELETE /invoice-spk/:idexisting-
PUT /invoice-spk/unlock/:idexisting-
GET /invoice-bomexisting-
GET /invoice-bom/:idexisting-
GET /cluster/:idexisting-
POST /integrity/sync-satuan-bulkexisting-